In a development field of computer software, developers often use a high-level language such as the C programming language as a programming language. A source code described in a high-level language may be converted into an object code that is executable by a processor by a compiler. Further, an object file that includes an object code is coupled with another object file that is referred to from the object code or a library by a linker, and an executable file may thereby be generated.
Here, because multiple codes may be described in a source code, it may not be easy to find corrected part or the like by a developer. Accordingly, a method has been conceived which supports development of software by a developer.
For example, a system has been suggested which performs assessments about whether symbol information in an input file is a definition of a symbol (PUBLIC declaration) or a reference to a symbol (EXTERN declaration) for all pieces of symbol information and creates a symbol table which records assessment results about the symbols. In this suggestion, a symbol that is only defined but not referred to is specified based on the symbol table.
Further, a code optimization device has also been suggested which analyzes codes of a source program and thereby extracts symbol-dependent information which indicates that each code symbol refers to which other symbol. In this suggestion, codes that correspond to symbols which are not used in execution of a load module are deleted from a program.
In addition, a system has also been suggested which creates a correction code in which external information is removed from the original code, loads the correction code to a memory in runtime, and thereby intends to reduce the memory usage amount. In this suggestion, in a case where there is a request for external information during runtime, the external information of an appropriate type is found by a prescribed key that is inserted in the correction code and is thereby loaded. Examples of external information include debugging information for an error report due to exceptional treatment, unnecessary source information for regular execution of a program order, and so forth.
Japanese Laid-open Patent Publication No. 4-149732, Japanese Laid-open Patent Publication No. 2000-207226, and Japanese Laid-open Patent Publication No. 2011-118901 are examples of related art.